访问电脑版页面

导航:老古开发网手机版PIC单片机教程

PIC单片机程序结构框架

导读:
关键字:
8位单片机,PIC单片机,

 为了快速掌握PIC单片机源程序的基本结构,这里给出一个典型的程序结构框架。建立源程序时首先用伪指令TITLE提供程序的标题,接着给出整个程序的总说明,并用列表伪指令LIST指定所用单片机型号和文件输出格式,再利用INCLUDE伪指令读入MPASM中提供的定义文件如《P16F84?INC》,然后对片内常用资源进行定义,再给出一般程序的基本结构框架。现举例如下。

  TITLE“This is……”;程序标题
  ;程序说明
  LIST P=16F84,F=1NHX8M
  ;
  include
  -config_RC_Qsc &_WDT_0FF…
  ;资源定义和变量定义
  STATUS EQU 03
  FSR EQU 04
  PORTA EQU 05
  PORTB EQU 06
  J EQU 01F
  K EQU 01E
  ;…………………
  ORG 0000 ;
  goto MAIN ;跳过中断矢量
  ORG 0004 
  goto INTSRV;子程序入口地址
  ;……………………………………
  MAIN       ;从0005H开始放主程序
  call Initports ;端口初始化
  call InitTImers;定时器初始化
   …
  INTSRV …     ;中断服务程序区
  SVBRTH…     ;子程序区
  END      ;程序结束符
  当然,在编写程序时可根据实际情况加以调整。下面是一份实际程序清单,要求将数据88H写入PIC16F84单片机内部EEPROM的20H单元,而后再从20H单元将其读出。
  LIST P=16F84,F=INHX8M
  ;……………………………
  STATUS EQU  03  ;定义寄存器
  EEDATA EQU  08
  EEADR EQU   09
  INTCON EQU  0BH
  EECON1 EQU  88H
  EECON2 EQU  89H
  ;…………………………
  RD    EQU  0    ;定义位
  WR  EQU  1
  RP0   EQU  5
  GIE  EQU  7
  ;…………………………
  ORG  0
  GOTO WRSTART
  ;……………………………
  ORG  10H
  WRSTART         ;写入操作开始
  CLRW       ;清W,使W=0
  BCF STATUS,RP0 ;选BANK0
  MOVLW 20H
  MOVWF EEADR   ;地址→EEADR
  MOVLW 88H
  MOVWF EEDATA  ;写入数据→
                 ;EEDATA
  BSF STATUS,RP0 ;选BANK1
  BSF EECON1,2 ;写操作使能允许
  BCF INTCON,GIE ;关闭所有的中断
  MOVLW 0X55
  MOVWF EECON2  ;55H→EECON2
   MOVLW 0XAA
  MOVWF EECON2   ;AAH→EECON2
  BSF EECON1,WR  ;启动写操作
  BSF INTCON,GIE ;恢复开中断
  RDSTART     ;读出操作开始
  BCF STATUS,RP0
  MOVLW 20H
  MOVWF EEADR   ;地址→EEADR
  BSF STATUS,RP0
  BSF EECON1,RD  ;启动读操作
  BCF STATUS,RP0
  MOVF EEDATA,W  ;将EEPROM
          ;数据读入W
  END

来源:elecfans   作者:灰色天空  2012/6/27 13:41:00
栏目: [ PIC单片机教程]

相关阅读

PIC单片机的配置字用CONFIG命令的定义

PIC单片机之看门狗_看门狗定时器工作原理

PIC单片机系统定义字的含义解析

如何进一步降低PIC单片机的功耗

PIC单片机学习知识之程序设计(二)

pic单片机高手实用篇,pic单片机程序设计

PIC单片机键盘系统的设计方案解析

PIC单片机4×4行列式键盘的工作原理解析

基于pic单片机的模拟I2C通信

PIC单片机程序结构框架

PIC单片机浮点数格式及其与十进制数之间的转换和程序设计步骤

PIC单片机基础学习之程序设计(一)

pic单片机学习教材(一):接口设计

PIC单片机教程-内部硬件资源之I/O口

PIC单片机教程-内部硬件资源